#ifndef _IO_H
#define _IO_H

class Animation;
class Level;
class Hunter;
class Kolobok;
class Camera;
class Zomby;
class Fx;
class Source;
class Platform;
class Bird;
class Texture;

extern Animation* loadAnimation(char* name, bool cache);
extern Level* loadLevel(char* name, bool cache);
extern Hunter* loadHunter(char* name, bool cache);
extern Zomby* loadZomby(char* name, bool cache);
extern Kolobok* loadKolobok(char* name, bool cache);
extern Bird* loadBird(char* name, bool cache);
extern Source* loadSource(char* name, bool cache);
extern Fx* loadFx(char* name, bool cache);
extern Platform* loadPlatform(char* name, bool cache);
extern unsigned int loadTextureTGA(char* name, bool cache);
extern Texture* loadTexture(char* name, bool cache);
extern int loadSources(char* name, bool cache, Source*** sources, int* num);

extern Camera* loadCamera(char* name);
extern int loadConfig(char* name);
extern void clearIO();	//? clear cache

/*
#define LAYER_PLATFORMS		2
#define LAYER_IMAGES		1
#define LAYER_FLOORS		2
#define LAYER_SLOPES		2
#define LAYER_ITEMS			2
#define LAYER_ZOMBIES		3
#define LAYER_CIRCLES		2
#define LAYER_CHECKPOINTS	2
#define LAYER_FX			4
#define LAYER_PLAYER		3
*/
#endif